// 蜂窝蜜造平台生成代码，如手工更改，请添加到 .beeignore 忽略生成

package com.fowo.api.model.logistics.provider;

import com.fowo.api.common.annotaion.DataObjectType;
import com.fowo.api.common.meta.MetaDataObject;
import com.fowo.api.common.meta.MetaDataObjects;
import com.fowo.api.common.model.PageSearch;
import com.fowo.api.common.mybatis.helper.PageSearchHelper;
import com.fowo.api.common.util.ListUtils;
import com.fowo.api.entity.LogisticsProvider;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

@DataObjectType(LogisticsProvider.class)
@Setter
@Getter
public class LogisticsProviderSearchParamPo extends PageSearch {

  private static MetaDataObject metaDataObject;

  @Override
  public void applySqlSegments() {
    if (metaDataObject == null) {
      metaDataObject =
        ListUtils.find(
          MetaDataObjects.getObjects(),
          o -> "LogisticsProvider".equals(o.getName())
        );
    }
    PageSearchHelper.fillSqlSegments(this, metaDataObject);
  }

  @Override
  public void initFinal() {
    super.initFinal();
    applySqlSegments();
  }

  /**
   * 获取关联字段的查询表别名信息
   */
  @Override
  public Map<String, String> getJoinFieldTableAliasMap() {
    Map<String, String> map = new HashMap<>();
    return map;
  }

  @Override
  public Map<String, OptionalJoinField> getOptionalJoinFields() {
    Map<String, OptionalJoinField> map = new HashMap<>();

    return map;
  }

  /**
   * 编号
   */
  private Long id;

  /**
   * 最小编号
   */
  private Long idMin;

  /**
   * 最大编号
   */
  private Long idMax;

  /**
   * 编号 比较(eq)
   */
  private Long idEq;
  /**
   * 编号 比较(neq)
   */
  private Long idNeq;
  /**
   * 编号 比较(gt)
   */
  private Long idGt;
  /**
   * 编号 比较(gte)
   */
  private Long idGte;
  /**
   * 编号 比较(lt)
   */
  private Long idLt;
  /**
   * 编号 比较(lte)
   */
  private Long idLte;
  /**
   * 编号 比较(contains)
   */
  private Long idContains;
  /**
   * 编号 比较(notcontains)
   */
  private Long idNotcontains;
  /**
   * 编号 比较(startswith)
   */
  private Long idStartswith;
  /**
   * 编号 比较(endswith)
   */
  private Long idEndswith;
  /**
   * 编号 比较(isnull)
   */
  private Boolean idIsnull;
  /**
   * 编号 比较(isnotnull)
   */
  private Boolean idIsnotnull;

  /**
   * 物流商(模糊搜索)
   */
  private String name;

  /**
   * 物流商 比较(eq)
   */
  private String nameEq;
  /**
   * 物流商 比较(neq)
   */
  private String nameNeq;
  /**
   * 物流商 比较(gt)
   */
  private String nameGt;
  /**
   * 物流商 比较(gte)
   */
  private String nameGte;
  /**
   * 物流商 比较(lt)
   */
  private String nameLt;
  /**
   * 物流商 比较(lte)
   */
  private String nameLte;
  /**
   * 物流商 比较(contains)
   */
  private String nameContains;
  /**
   * 物流商 比较(notcontains)
   */
  private String nameNotcontains;
  /**
   * 物流商 比较(startswith)
   */
  private String nameStartswith;
  /**
   * 物流商 比较(endswith)
   */
  private String nameEndswith;
  /**
   * 物流商 比较(isnull)
   */
  private Boolean nameIsnull;
  /**
   * 物流商 比较(isnotnull)
   */
  private Boolean nameIsnotnull;

  /**
   * 物流商(精确搜索)
   */
  private List<String> nameInList;

  /**
   * 代码(模糊搜索)
   */
  private String code;

  /**
   * 代码 比较(eq)
   */
  private String codeEq;
  /**
   * 代码 比较(neq)
   */
  private String codeNeq;
  /**
   * 代码 比较(gt)
   */
  private String codeGt;
  /**
   * 代码 比较(gte)
   */
  private String codeGte;
  /**
   * 代码 比较(lt)
   */
  private String codeLt;
  /**
   * 代码 比较(lte)
   */
  private String codeLte;
  /**
   * 代码 比较(contains)
   */
  private String codeContains;
  /**
   * 代码 比较(notcontains)
   */
  private String codeNotcontains;
  /**
   * 代码 比较(startswith)
   */
  private String codeStartswith;
  /**
   * 代码 比较(endswith)
   */
  private String codeEndswith;
  /**
   * 代码 比较(isnull)
   */
  private Boolean codeIsnull;
  /**
   * 代码 比较(isnotnull)
   */
  private Boolean codeIsnotnull;

  /**
   * 代码(精确搜索)
   */
  private List<String> codeInList;

  /**
   * 状态
   */
  private String status;

  /**
   * 状态 比较(eq)
   */
  private String statusEq;
  /**
   * 状态 比较(neq)
   */
  private String statusNeq;
  /**
   * 状态 比较(gt)
   */
  private String statusGt;
  /**
   * 状态 比较(gte)
   */
  private String statusGte;
  /**
   * 状态 比较(lt)
   */
  private String statusLt;
  /**
   * 状态 比较(lte)
   */
  private String statusLte;
  /**
   * 状态 比较(contains)
   */
  private String statusContains;
  /**
   * 状态 比较(notcontains)
   */
  private String statusNotcontains;
  /**
   * 状态 比较(startswith)
   */
  private String statusStartswith;
  /**
   * 状态 比较(endswith)
   */
  private String statusEndswith;
  /**
   * 状态 比较(isnull)
   */
  private Boolean statusIsnull;
  /**
   * 状态 比较(isnotnull)
   */
  private Boolean statusIsnotnull;

  /**
   * 状态(精确搜索)
   */
  private List<String> statusInList;

  /**
   * 最早创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeStart;

  /**
   * 最晚创建时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date createTimeEnd;

  /**
   * 创建时间 比较(eq)
   */
  private Date createTimeEq;
  /**
   * 创建时间 比较(neq)
   */
  private Date createTimeNeq;
  /**
   * 创建时间 比较(gt)
   */
  private Date createTimeGt;
  /**
   * 创建时间 比较(gte)
   */
  private Date createTimeGte;
  /**
   * 创建时间 比较(lt)
   */
  private Date createTimeLt;
  /**
   * 创建时间 比较(lte)
   */
  private Date createTimeLte;
  /**
   * 创建时间 比较(contains)
   */
  private Date createTimeContains;
  /**
   * 创建时间 比较(notcontains)
   */
  private Date createTimeNotcontains;
  /**
   * 创建时间 比较(startswith)
   */
  private Date createTimeStartswith;
  /**
   * 创建时间 比较(endswith)
   */
  private Date createTimeEndswith;
  /**
   * 创建时间 比较(isnull)
   */
  private Boolean createTimeIsnull;
  /**
   * 创建时间 比较(isnotnull)
   */
  private Boolean createTimeIsnotnull;

  /**
   * 创建人
   */
  private Long createUser;

  /**
   * 最小创建人
   */
  private Long createUserMin;

  /**
   * 最大创建人
   */
  private Long createUserMax;

  /**
   * 创建人 比较(eq)
   */
  private Long createUserEq;
  /**
   * 创建人 比较(neq)
   */
  private Long createUserNeq;
  /**
   * 创建人 比较(gt)
   */
  private Long createUserGt;
  /**
   * 创建人 比较(gte)
   */
  private Long createUserGte;
  /**
   * 创建人 比较(lt)
   */
  private Long createUserLt;
  /**
   * 创建人 比较(lte)
   */
  private Long createUserLte;
  /**
   * 创建人 比较(contains)
   */
  private Long createUserContains;
  /**
   * 创建人 比较(notcontains)
   */
  private Long createUserNotcontains;
  /**
   * 创建人 比较(startswith)
   */
  private Long createUserStartswith;
  /**
   * 创建人 比较(endswith)
   */
  private Long createUserEndswith;
  /**
   * 创建人 比较(isnull)
   */
  private Boolean createUserIsnull;
  /**
   * 创建人 比较(isnotnull)
   */
  private Boolean createUserIsnotnull;

  /**
   * 最早更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeStart;

  /**
   * 最晚更新时间
   */
  @DateTimeFormat(pattern = "yyyy-MM-dd")
  private Date lastUpdateTimeEnd;

  /**
   * 更新时间 比较(eq)
   */
  private Date lastUpdateTimeEq;
  /**
   * 更新时间 比较(neq)
   */
  private Date lastUpdateTimeNeq;
  /**
   * 更新时间 比较(gt)
   */
  private Date lastUpdateTimeGt;
  /**
   * 更新时间 比较(gte)
   */
  private Date lastUpdateTimeGte;
  /**
   * 更新时间 比较(lt)
   */
  private Date lastUpdateTimeLt;
  /**
   * 更新时间 比较(lte)
   */
  private Date lastUpdateTimeLte;
  /**
   * 更新时间 比较(contains)
   */
  private Date lastUpdateTimeContains;
  /**
   * 更新时间 比较(notcontains)
   */
  private Date lastUpdateTimeNotcontains;
  /**
   * 更新时间 比较(startswith)
   */
  private Date lastUpdateTimeStartswith;
  /**
   * 更新时间 比较(endswith)
   */
  private Date lastUpdateTimeEndswith;
  /**
   * 更新时间 比较(isnull)
   */
  private Boolean lastUpdateTimeIsnull;
  /**
   * 更新时间 比较(isnotnull)
   */
  private Boolean lastUpdateTimeIsnotnull;

  /**
   * 更新人
   */
  private Long lastUpdateUser;

  /**
   * 最小更新人
   */
  private Long lastUpdateUserMin;

  /**
   * 最大更新人
   */
  private Long lastUpdateUserMax;

  /**
   * 更新人 比较(eq)
   */
  private Long lastUpdateUserEq;
  /**
   * 更新人 比较(neq)
   */
  private Long lastUpdateUserNeq;
  /**
   * 更新人 比较(gt)
   */
  private Long lastUpdateUserGt;
  /**
   * 更新人 比较(gte)
   */
  private Long lastUpdateUserGte;
  /**
   * 更新人 比较(lt)
   */
  private Long lastUpdateUserLt;
  /**
   * 更新人 比较(lte)
   */
  private Long lastUpdateUserLte;
  /**
   * 更新人 比较(contains)
   */
  private Long lastUpdateUserContains;
  /**
   * 更新人 比较(notcontains)
   */
  private Long lastUpdateUserNotcontains;
  /**
   * 更新人 比较(startswith)
   */
  private Long lastUpdateUserStartswith;
  /**
   * 更新人 比较(endswith)
   */
  private Long lastUpdateUserEndswith;
  /**
   * 更新人 比较(isnull)
   */
  private Boolean lastUpdateUserIsnull;
  /**
   * 更新人 比较(isnotnull)
   */
  private Boolean lastUpdateUserIsnotnull;

  /**
   * 联系人(模糊搜索)
   */
  private String contacts;

  /**
   * 联系人 比较(eq)
   */
  private String contactsEq;
  /**
   * 联系人 比较(neq)
   */
  private String contactsNeq;
  /**
   * 联系人 比较(gt)
   */
  private String contactsGt;
  /**
   * 联系人 比较(gte)
   */
  private String contactsGte;
  /**
   * 联系人 比较(lt)
   */
  private String contactsLt;
  /**
   * 联系人 比较(lte)
   */
  private String contactsLte;
  /**
   * 联系人 比较(contains)
   */
  private String contactsContains;
  /**
   * 联系人 比较(notcontains)
   */
  private String contactsNotcontains;
  /**
   * 联系人 比较(startswith)
   */
  private String contactsStartswith;
  /**
   * 联系人 比较(endswith)
   */
  private String contactsEndswith;
  /**
   * 联系人 比较(isnull)
   */
  private Boolean contactsIsnull;
  /**
   * 联系人 比较(isnotnull)
   */
  private Boolean contactsIsnotnull;

  /**
   * 联系人(精确搜索)
   */
  private List<String> contactsInList;

  /**
   * 联系电话(模糊搜索)
   */
  private String phone;

  /**
   * 联系电话 比较(eq)
   */
  private String phoneEq;
  /**
   * 联系电话 比较(neq)
   */
  private String phoneNeq;
  /**
   * 联系电话 比较(gt)
   */
  private String phoneGt;
  /**
   * 联系电话 比较(gte)
   */
  private String phoneGte;
  /**
   * 联系电话 比较(lt)
   */
  private String phoneLt;
  /**
   * 联系电话 比较(lte)
   */
  private String phoneLte;
  /**
   * 联系电话 比较(contains)
   */
  private String phoneContains;
  /**
   * 联系电话 比较(notcontains)
   */
  private String phoneNotcontains;
  /**
   * 联系电话 比较(startswith)
   */
  private String phoneStartswith;
  /**
   * 联系电话 比较(endswith)
   */
  private String phoneEndswith;
  /**
   * 联系电话 比较(isnull)
   */
  private Boolean phoneIsnull;
  /**
   * 联系电话 比较(isnotnull)
   */
  private Boolean phoneIsnotnull;

  /**
   * 联系电话(精确搜索)
   */
  private List<String> phoneInList;

  /**
   * 邮箱(模糊搜索)
   */
  private String mailBox;

  /**
   * 邮箱 比较(eq)
   */
  private String mailBoxEq;
  /**
   * 邮箱 比较(neq)
   */
  private String mailBoxNeq;
  /**
   * 邮箱 比较(gt)
   */
  private String mailBoxGt;
  /**
   * 邮箱 比较(gte)
   */
  private String mailBoxGte;
  /**
   * 邮箱 比较(lt)
   */
  private String mailBoxLt;
  /**
   * 邮箱 比较(lte)
   */
  private String mailBoxLte;
  /**
   * 邮箱 比较(contains)
   */
  private String mailBoxContains;
  /**
   * 邮箱 比较(notcontains)
   */
  private String mailBoxNotcontains;
  /**
   * 邮箱 比较(startswith)
   */
  private String mailBoxStartswith;
  /**
   * 邮箱 比较(endswith)
   */
  private String mailBoxEndswith;
  /**
   * 邮箱 比较(isnull)
   */
  private Boolean mailBoxIsnull;
  /**
   * 邮箱 比较(isnotnull)
   */
  private Boolean mailBoxIsnotnull;

  /**
   * 邮箱(精确搜索)
   */
  private List<String> mailBoxInList;

  /**
   * 预付比例
   */
  private java.math.BigDecimal paymentRatio;

  /**
   * 最小预付比例
   */
  private java.math.BigDecimal paymentRatioMin;

  /**
   * 最大预付比例
   */
  private java.math.BigDecimal paymentRatioMax;

  /**
   * 预付比例 比较(eq)
   */
  private java.math.BigDecimal paymentRatioEq;
  /**
   * 预付比例 比较(neq)
   */
  private java.math.BigDecimal paymentRatioNeq;
  /**
   * 预付比例 比较(gt)
   */
  private java.math.BigDecimal paymentRatioGt;
  /**
   * 预付比例 比较(gte)
   */
  private java.math.BigDecimal paymentRatioGte;
  /**
   * 预付比例 比较(lt)
   */
  private java.math.BigDecimal paymentRatioLt;
  /**
   * 预付比例 比较(lte)
   */
  private java.math.BigDecimal paymentRatioLte;
  /**
   * 预付比例 比较(contains)
   */
  private java.math.BigDecimal paymentRatioContains;
  /**
   * 预付比例 比较(notcontains)
   */
  private java.math.BigDecimal paymentRatioNotcontains;
  /**
   * 预付比例 比较(startswith)
   */
  private java.math.BigDecimal paymentRatioStartswith;
  /**
   * 预付比例 比较(endswith)
   */
  private java.math.BigDecimal paymentRatioEndswith;
  /**
   * 预付比例 比较(isnull)
   */
  private Boolean paymentRatioIsnull;
  /**
   * 预付比例 比较(isnotnull)
   */
  private Boolean paymentRatioIsnotnull;

  /**
   * 结算方式
   */
  private String settlementMethod;

  /**
   * 结算方式 比较(eq)
   */
  private String settlementMethodEq;
  /**
   * 结算方式 比较(neq)
   */
  private String settlementMethodNeq;
  /**
   * 结算方式 比较(gt)
   */
  private String settlementMethodGt;
  /**
   * 结算方式 比较(gte)
   */
  private String settlementMethodGte;
  /**
   * 结算方式 比较(lt)
   */
  private String settlementMethodLt;
  /**
   * 结算方式 比较(lte)
   */
  private String settlementMethodLte;
  /**
   * 结算方式 比较(contains)
   */
  private String settlementMethodContains;
  /**
   * 结算方式 比较(notcontains)
   */
  private String settlementMethodNotcontains;
  /**
   * 结算方式 比较(startswith)
   */
  private String settlementMethodStartswith;
  /**
   * 结算方式 比较(endswith)
   */
  private String settlementMethodEndswith;
  /**
   * 结算方式 比较(isnull)
   */
  private Boolean settlementMethodIsnull;
  /**
   * 结算方式 比较(isnotnull)
   */
  private Boolean settlementMethodIsnotnull;

  /**
   * 结算方式(精确搜索)
   */
  private List<String> settlementMethodInList;

  /**
   * 付款日(模糊搜索)
   */
  private String settlementNode;

  /**
   * 付款日 比较(eq)
   */
  private String settlementNodeEq;
  /**
   * 付款日 比较(neq)
   */
  private String settlementNodeNeq;
  /**
   * 付款日 比较(gt)
   */
  private String settlementNodeGt;
  /**
   * 付款日 比较(gte)
   */
  private String settlementNodeGte;
  /**
   * 付款日 比较(lt)
   */
  private String settlementNodeLt;
  /**
   * 付款日 比较(lte)
   */
  private String settlementNodeLte;
  /**
   * 付款日 比较(contains)
   */
  private String settlementNodeContains;
  /**
   * 付款日 比较(notcontains)
   */
  private String settlementNodeNotcontains;
  /**
   * 付款日 比较(startswith)
   */
  private String settlementNodeStartswith;
  /**
   * 付款日 比较(endswith)
   */
  private String settlementNodeEndswith;
  /**
   * 付款日 比较(isnull)
   */
  private Boolean settlementNodeIsnull;
  /**
   * 付款日 比较(isnotnull)
   */
  private Boolean settlementNodeIsnotnull;

  /**
   * 付款日(精确搜索)
   */
  private List<String> settlementNodeInList;

  /**
   * 结算周期(模糊搜索)
   */
  private String settlementCycle;

  /**
   * 结算周期 比较(eq)
   */
  private String settlementCycleEq;
  /**
   * 结算周期 比较(neq)
   */
  private String settlementCycleNeq;
  /**
   * 结算周期 比较(gt)
   */
  private String settlementCycleGt;
  /**
   * 结算周期 比较(gte)
   */
  private String settlementCycleGte;
  /**
   * 结算周期 比较(lt)
   */
  private String settlementCycleLt;
  /**
   * 结算周期 比较(lte)
   */
  private String settlementCycleLte;
  /**
   * 结算周期 比较(contains)
   */
  private String settlementCycleContains;
  /**
   * 结算周期 比较(notcontains)
   */
  private String settlementCycleNotcontains;
  /**
   * 结算周期 比较(startswith)
   */
  private String settlementCycleStartswith;
  /**
   * 结算周期 比较(endswith)
   */
  private String settlementCycleEndswith;
  /**
   * 结算周期 比较(isnull)
   */
  private Boolean settlementCycleIsnull;
  /**
   * 结算周期 比较(isnotnull)
   */
  private Boolean settlementCycleIsnotnull;

  /**
   * 结算周期(精确搜索)
   */
  private List<String> settlementCycleInList;

  /**
   * 授权状态
   */
  private String isEmpower;

  /**
   * 授权状态 比较(eq)
   */
  private String isEmpowerEq;
  /**
   * 授权状态 比较(neq)
   */
  private String isEmpowerNeq;
  /**
   * 授权状态 比较(gt)
   */
  private String isEmpowerGt;
  /**
   * 授权状态 比较(gte)
   */
  private String isEmpowerGte;
  /**
   * 授权状态 比较(lt)
   */
  private String isEmpowerLt;
  /**
   * 授权状态 比较(lte)
   */
  private String isEmpowerLte;
  /**
   * 授权状态 比较(contains)
   */
  private String isEmpowerContains;
  /**
   * 授权状态 比较(notcontains)
   */
  private String isEmpowerNotcontains;
  /**
   * 授权状态 比较(startswith)
   */
  private String isEmpowerStartswith;
  /**
   * 授权状态 比较(endswith)
   */
  private String isEmpowerEndswith;
  /**
   * 授权状态 比较(isnull)
   */
  private Boolean isEmpowerIsnull;
  /**
   * 授权状态 比较(isnotnull)
   */
  private Boolean isEmpowerIsnotnull;

  /**
   * 授权状态(精确搜索)
   */
  private List<String> isEmpowerInList;

  /**
   * 表单名称
   */
  private String formName;

  /**
   * 工作流状态
   */
  private Integer wfStatus;
}
